package com.icinfo.cloud.provider.punish.ucase.casemain.dto;

import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 描述：案件当事人记录调整保存传输对象
 * @author shishengyao
 * @description
 * @date 2023/3/20
 */
@Data
public class CasePartyRecordAdjustSaveDto {

    /**
     * 案件id
     */
    @NotEmpty(message = "案件id不能为空")
    private String caseId;
    /**
     * 记录保存类型（1-新增/2-修改/3-暂存）
     */
    @NotEmpty(message = "案件id不能为空")
    private String operateType;
    /**
     * 文书id (修改时传)
     */
    private String documentId;
    /**
     * 文书目录编码
     */
    private String documentCatalogCode;
    /**
     * 审批事项
     */
    @NotEmpty(message = "审批事项不能为空")
    private String auditItem;
    /**
     * 标准文书抬头
     */
    private String orgStandardName;
    /**
     * 案件的名称和立案案号
     */
    @NotEmpty(message = "案件的名称和立案案号不能为空")
    private String caseNameAndNumber;
    /**
     * 案件简要情况
     */
    @NotEmpty(message = "案件简要情况不能为空")
    private String caseConciseCondition;
    /**
     * 案件当事人个人信息列表
     */
    @Valid
    private List<CasePartyRecordAdjustPersonSaveDto> partiesPersonInfoList;
    /**
     * 案件当事人法人信息列表
     */
    @Size(max = 1)
    @Valid
    private List<CasePartyRecordAdjustLegalSaveDto> partiesLegalInfoList;

    /**
     * 案件当事人个人信息列表(pdf内容)
     */
    private List<CasePartyRecordAdjustPersonSaveDto> partiesPersonInfoForPdfList;
    /**
     * 案件当事人法人信息列表(pdf内容)
     */
    private List<CasePartyRecordAdjustLegalSaveDto> partiesLegalInfoForPdfList;
    /**
     * 附件信息列表
     */
    @Valid
    List<CaseAttachmentInfoSaveDto> attachmentInfoList;
    /**
     * 【后端使用】案件案由、当事人类型；1：单当事人   3:多当事人
     */
    private String casePartiesReasonType;
    /**
     * 备注
     */
    private String remark;
    /**
     * 审批依据理由
     */
    @NotEmpty(message = "审批依据理由不能为空")
    private String auditReason;
}
